#include "LDCStateManager.h"

LDCStateManager::LDCStateManager(void)
{
}

LDCStateManager::~LDCStateManager(void)
{
}

void LDCStateManager::update(float deltaTime)
{
	switch (mState)
	{
	case STATE_MENU:
		//Do menu logic
		break;
	case STATE_IN_GAME:
		switch (subState)
		{
		case STATE_PLAY:
			//Do play logic
			break;
		case STATE_PAUSE:
			//Do pause logic
			break;
		case STATE_RESULT:
			//Do result logic
			break;
		}
		break;
	default:
		break;
	}
	//Update current state
	mStateList[mState]->update(deltaTime);
}

void LDCStateManager::render(float deltaTime)
{
	switch(mState)
	{
	case STATE_MENU:
		//Render menu
		break;
	case STATE_IN_GAME:
		switch(subState)
		{
		case STATE_PLAY:
			//render play
			break;
		case STATE_PAUSE:
			//render pause
			break;
		case STATE_RESULT:
			//render result
			break;
		}
		break;
	default:
		break;
	}
	//Render current state
	mStateList[mState]->render();
}